Passa ai contenuti principali

(IT) COMPUTER SCIENCE

Tateo’s Interdisciplinary Lifelong Learning Project
T I L L L
LEARNING - SHARING - NETWORKING
Learning, knowledge sharing and Communities engagement about:
Artificial Intelligence, Extended / Augmented / Virtual / Mixed Reality (XR/AR/VR/MR), Automation, Electronics, Computer Science and Information and Communication Technology, Mobility, Problem Solving & Innovation, Readings, Social Media, Digital Modeling and Simulation, Computer Vision, Work & Soft Skills, Railway.
by Tateo Giovanni Battista
_____________________________
LEARNING
COMPUTER SCIENCE
Computer Science, Information & Communication Technology, Big data, Cloud Computing, Edge Computing, Computer graphics, Super-computing, Computer programming, Operative Research, Mobility and mobile technology, Blockchain, IT events.

La comunicazione,  l'Informatica e le Tecnologia dell'Informazione

The Communication, the Computer Science and the Information Technologies


We are talking about: #informationTechnology #electronics #programming #simulation #imageProcessing #mobileDevices #bigData #BusinessIntelligence #dashboard #cloud #superComputing #operativeResearch #functionalProgramming #blockchain #TILLL #TateoBlog


Summary. We will talk about computer science, that is the discipline created for the management and processing of information by means of electronic computers. Modern computing, as we know it today, is very different from that of its origins. It has evolved adapting to modern times and converging towards a series of interesting applications, such as big data, business intelligence, cloud computing, computer graphics, super-computing, operations research, parallel computing and mobile devices.

Parleremo di Informatica, ossia di quella disciplina nata per la  gestione ed elaborazione delle informazioni per mezzo dei calcolatori elettronici. L'informatica moderna, così come la conosciamo oggi, è molto diversa da quella delle sue origini. Essa si è evoluta adattandosi ai tempi moderni e convergendo verso una serie di applicazioni interessanti, come per esempio i big data, la business intelligence, il cloud computing, la computer grafica, il super-calcolo, la ricerca operativa, il calcolo parallelo ed i dispositivi mobili.


~ o ~

You are >>> HERE <<< within the TILLL project.
Ti trovi >>> QUI <<< all'interno del progetto TILLL.


                   +--> TILLL-LEARNING
                   |    +--> AI. ARTIFICIAL INTELLIGENCE 
                   |    +--> AR. EXTENDED REALITY
                   |    +--> AU. AUTOMATION
                   |    +--> EL. ELECTRONICS
                   |    +>>> IT. COMPUTER SCIENCE <<<
                   |    |        +--> 1. BIG DATA
                   |    |        +--> 2. BUSINESS INTELLIGENCE
                   |    |        +--> 3. CLOUD COMPUTING
                   |    |        +--> 4. COMPUTER GRAPHICS
                   |    |        +--> 5. HPC
                   |    |        +--> 6. SW DEV
                   |    |        +--> 7. OPERATIONS RESEARCH
                   |    |        +--> 8. EVENTS
                   |    +--> LT. READINGS
                   |    +--> MD. MOBILE
                   |    +--> PS. PROBLEMS
                   |    +--> SM. SOCIAL MEDIA
                   |    +--> SZ. SIMULATION
                   |    +--> VS. ARTIFICIAL VISION
                   |    +--> WS. SKILLS
                   |
HOME --> PROJECT --O--> TILLL-BLOG

                   |
                   +--> TILLL-NETWORKING
                   |
                   +--> 
TILLL-ABOUT ME



~ o ~

Article content index.
Indice dei contenuti dell'articolo.

The topics treated in this article are summarized below by means of the list of the titles of its paragraphs.
Gli argomenti trattati in questo articolo vengono di seguito sintetizzati mediante l'elenco dei titoli dei suoi paragrafi.

 §1. Computer Science and Information Technology

        Informatica e Tecnologia dell’Informazione.

 §2. The genesis: a choice by exclusion
        La genesi: una scelta per esclusione.

 §3. Technical training and diploma
        La formazione tecnica ed il diploma.

 §4. My first professional experiences
        Le mie prime esperienze professionali.

 §5. Computer Science or Electronics?
        Informatica o Elettronica?

 §6. Other professional experiences.
        Altre esperienze professionali.

 §7. UML.
 §8. CORBA.
 §9. Java-base process-oriented library.
§10. Image processing.

§ Sistemi di Comunicazione

   § Dal Broadcasting al Socialcasting, passando per il Narrowcasting

§11. Big Data.
§12. Business Intelligence.
§13. Cloud Computing.

§14. Edge computing

14.1 Definition.

       Definizione.

14.2 Advantages of edge computing solutions.

      Vantaggi delle soluzioni edge computing.

14.3 Disadvantages of edge computing.

       Svantaggi dell'edge computing.

14.4. Hybrid edge/cloud solutions.

      Soluzioni ibride edge/cloud.  

§15. Computer Graphics.

        Computer Grafica.

§16. High-performance computing.

        Il super-calcolo.

§17. Computer Programming.

        La programmazione dei calcolatori elettronici.

        §17.1. Programming Basics.

                  Le basi della programmazione.
        §17.2 Programming paradigms.
                  I paradigmi di programmazione.
§18. Ricerca Operativa.

§19. Dispostivi Mobili.

§20. Origins, characteristics and applications of the nascent Blockchain technology.
        Origini, caratteristiche e applicazioni della nascente tecnologia della Blockchain.

§21. Eventi.
§22. More generally.
        Più in generale.

§23. "Computer Science and Information Technology" section articles Index.
        Indice degli articoli della sezione "Informatica e Tecnologia dell'Informazione".

§24. Stay up to date,
        Rimani aggiornato.

§25. Let's keep in touch.
        Teniamoci in contatto.

§26. Something about me, the founder and author of Tateo~Blog Project.
        Qualcosa su di me, il fondatore e sull'autore del progetto Tateo~Blog.


I hope you are able to identify something interesting among the topics I have covered in the current article. Enjoy the reading.
Mi auguro che tu riesca ad individuare qualcosa di interessante tra gli argomenti che ho trattato all'interno dell'articolo corrente.
Buona lettura.

-----------------------------------------

updated September 5, 2022



~ o ~


1. Computer Science and Information Technology

Informatica e Tecnologia dell’Informazione.


Computer science is no more about computers than astronomy is about telescopes.”

L'informatica non riguarda i computer più di quanto l'astronomia riguarda i telescopi.
(author: Edsger Dijkstra, famous computer scientist, awarded in 1972 with the Turing prize)

 Computer Science is the discipline that deals with the processing of information through procedures that can be made automatic. In particular, it has as its object the study of the theoretical foundations of information, of its computation at a logical level and of the practical techniques for its implementation and application in automated electronic systems therefore called computer systems. In English there is no equivalent of "computer science" but the term "computer science" is used.

  L’Informatica (Computer Science in lingua Inglese) è la disciplina che si occupa del trattamento dell'informazione mediante procedure che possono essere rese automatiche. In particolare ha per oggetto lo studio dei fondamenti teorici dell'informazione, della sua computazione a livello logico e delle tecniche pratiche per la sua implementazione e applicazione in sistemi elettronici automatizzati detti quindi sistemi informatici. In lingua inglese non esista l'equivalente di "informatica" ma è utilizzato il termine "computer science". 


  Sometimes, the term "Information Technology" is misused to refer to typical “Computer Science” activities, which basically consist of defining algorithms and encoding them into a form that can be interpreted by the computer.

     But between the two skills there is a clear difference, in fact “Information Technology” deals in particular with the techniques of creation, storage, transmission, processing, access and security of digital data.

  A volte, il termine “Tecnologia dell’Informazione” ( “Information Technology" in lingua inglese) è usato impropriamente per riferirsi alle attività tipiche della ”Informatica” (“Computer Science” in lingua inglese), che in pratica consistono nella definizione di algoritmi e nella loro codifica in una forma che può essere interpretata dal computer.

    Ma tra le due competenze c'è una netta differenza, infatti l'Information Technology si occupa in particolare delle tecniche di creazione, archiviazione, trasmissione, elaborazione, accesso e sicurezza dei dati digitali.


“Computer science is an empirical discipline. [...] Each new machine that is built is an experiment. Actually constructing the machine poses a question to nature; and we listen for the answer by observing the machine in operation and analyzing it by all analytical and measurement means available. Each new program that is built is an experiment. It poses a question to nature, and its behavior offers clues to an answer.”
L'informatica è una disciplina empirica. [...] Ogni nuova macchina che viene costruita è un esperimento. Realmente costruire la macchina pone una domanda alla natura; e ascoltiamo la risposta osservando la macchina in funzione e analizzandola con tutti i mezzi analitici e di misura disponibili. Ogni nuovo programma che viene costruito è un esperimento. Pone una domanda alla natura e il suo comportamento offre indizi per una risposta.
(author: Allen Newell (1975) Computer Science as Empirical Inquiry: Symbols and Search. p. 114)

  

  So when we talk about Computer Science we refer to the theory of information and the development of algorithms for the automatic execution of processes, by means of the aid of electronic computing. When we talk about Information Technology, however, we are referring to the creation of network architectures, data security, database management, systems administration.

  Quindi quando parliamo di Informatica (Computer Science) ci riferiamo alla teoria dell’Informazione ed allo sviluppo di algoritmi per l’esecuzione automatica di processi, per mezzo dell’ausilio del calcolo elettronico. Quando parliamo di Tecnologia dell’Informazione (Information Technology), invece, ci riferiamo alla creazione delle architetture di rete, alla sicurezza dei dati, alla gestione dei database, alla amministrazione dei sistemi.



~ o ~ 
 

2. Digitalization, Transformation and Digital Transition

Digitalizzazione, Trasformazione e Transizione Digitale


  Recently, in reference to digital, there is a lot of talk about "transformation" and "transition". These two phenomena are often mistakenly considered synonymous, but there is a distinct difference between the two concepts. Let's try to do some clarity.
  Recentemente, in riferimento al digitale, si fa un gran parlare di "trasformazione" e "transizione". Questi due fenomeni spesso sono considerati erroneamente sinonimi, ma tra i due concetti esiste una netta differenza. Vediamo di fare un pò di chiarezza.

  The use of the term "Transition" is more recent and literally means changeover, which in the digital context refers to the transition from a traditional paradigm for data management to a digital one.
  L'uso del termine "Transizione" è più recente e letteralmente significa passaggio, che nel contesto digitale fa riferimento al passaggio da un paradigma tradizionale per la gestione dei dati a quello, per l'appunto, digitale..

  The "digital transformation" on the other hand, in practice, constitutes one of the steps of the entire digital transition process.
   The digital transformation, among all the phases necessary for the realization of the digital transition, is the most extreme one, certainly the most complex and most sophisticated, both as regards the start of its process, and as regards its management, and for regarding the efforts and tenacity required to carry it out.
La "trasformazione digitale" invece, in pratica, costituisce uno dei passaggi dell'intero processo di  transizione digitale. 
  La trasformazione digitale, tra tutte le fasi necessarie per la realizzazione della transizione digitale è quello più estremo, certamente il più complesso e più sofisticato, sia per quanto riguarda l'avvio del suo processo, sia per quanto riguarda la sua gestione, e sia per quanto riguarda gli sforzi e la tenacia necessari per portarlo a termine.

  Digital transformation involves the pervasive use of technologies that are used to relate to one's environment. For example, in the industrial field, the transformation could even involve the change of the business model for a new model enabled by new technologies. An example of a very frequent change in the business model today is that which, thanks to the leverage of new digital technologies, sees the transition from the supply of physical products (manufactured goods) to the administration of services.
  La trasformazione digitale comporta l’utilizzo pervasivo delle tecnologie che si utilizzano per relazionarsi al proprio ambiente. Per esempio nel campo industriale la trasformazione potrebbe comportare addirittura il cambiamento del modello di business per un nuovo modello abilitato proprio dalle nuove tecnologie. Un esempio di cambiamento del modello di business molto frequente oggi è quello che, proprio grazie alla leva delle nuove tecnologie digitali, vede il passaggio dalla fornitura di prodotti fisici (manufatti) alla somministrazione di servizi.

  It must be said that the digital transformation process is not linear and often it is not possible to clearly identify its beginning and its end, because once started it is gradually and continuously renewed.
  C'é da dire che il processo di trasformazione digitale non è lineare e spesso non si riesce ad individuare chiaramente un suo inizio ed una sua fine, perché una volta avviato esso si rinnova gradualmente e continuamente.


  Digitization. The metaphor most used to explain the digital transition is that of the passage of the caterpillar to butterfly. However, it should be noted that digital only is not enough to go from caterpillar to butterfly. In fact, it is possible to use a lot of digital without necessarily changing the corporate business model in depth, that is the way in which value is produced.
This less intense and less sophisticated step, which still allows you to bring home some advantages thanks to the application of new digital technologies, is called digitization.
  Digitalizzazione. La metafora più utilizzata per spiegare la transizione digitale è quella del passaggio del bruco a farfalla. Si osservi però che non è sufficiente soltanto il digitale per passare da bruco a farfalla. Infatti si può utilizzare tanto digitale senza necessariamente cambiare in profondità  il modello di business aziendale, ossia il modo in cui si produce valore. 
Questo passaggio meno intenso e meno sofisticato, che permette comunque di portare a casa alcuni vantaggi grazie alla applicazione delle nuove tecnologie digitali, si chiama per l’appunto digitalizzazione. 

“When digital transformation is done right, it’s like a caterpillar turning into a butterfly, but when done wrong, all you have is a really fast caterpillar.”
"Quando la trasformazione digitale viene eseguita correttamente, è come un bruco che si trasforma in una farfalla, ma quando viene eseguita in modo sbagliato, tutto ciò che hai è un bruco molto veloce." 
(cit. George Westerman, MIT Sloan Initiative on the Digital Economy)

   Taking up the caterpillar-butterfly metaphor, we can say that the goal of digitization is not to make the caterpillar become a butterfly, but to simply make the caterpillar become faster, more efficient and more captivating for customers.
  Riprendendo la metafora bruco-farfalla possiamo dire che l’obiettivo della digitalizzazione non è quello di far diventare il bruco farfalla, ma di far diventare il bruco semplicemente più veloce, più efficiente e più accattivante per i clienti.

Hashtag keywords
: #digitalTransition #digitalTransformation 
#digitalization

Resources and Insights
(1) Transizione o trasformazione digitale? Che cosa sta cambiando in Italia?, Gianluca Salviotti, il sole 24 ore
(2Every business is a software business, Quidgest


~ o ~ 
 

2. The genesis: a choice by exclusion

La genesi: una scelta per esclusione


  My first contact with the world of Computer Science took place at the age of 15. It was the 1980s that was precisely the time when this new technology was about to explode. It was back in 1984 when I was attending the second year at the "Luigi Dell'Erba" State Industrial Technical Institute in Castellana Grotte. Having to choose the specialization for the next three years of the course, thanks to the idiosyncrasy that I had developed towards chemistry, as a criterion of choice I chose the one that provided for excluding all those specializations that involved the study of chemistry. So I practically landed in computer science by excluding other specializations, and without ever having touched a computer keyboard until that moment.

  Il mio primo contatto con il mondo dell'informatica è avvenuto all'età di 15 anni. Erano gli anni ‘80 ossia proprio il periodo in cui questa nuova tecnologia stava per esplodere. Era il lontano 1984 quando frequentavo il secondo anno all'Istituto Tecnico Industriale Statale "Luigi Dell'Erba" di Castellana Grotte. Dovendo scegliere la specializzazione per il triennio successivo del corso, complice l'idiosincrasia che avevo maturato nei confronti della chimica, come criterio di scelta scelsi quello che prevedeva di escludere tutte quelle specializzazioni che prevedevano lo studio della la chimica. Quindi praticamente approdai all’informatica per esclusione delle altre specializzazioni, e senza aver mai toccato una tastiera di un computer fino a quel momento.



~ o ~ 
 

§3. Technical training and diploma.

La formazione tecnica ed il diploma.


  I soon became passionate about this new and innovative discipline. I discovered a natural fondness for logic, systems theory, algorithms and programming languages. In fact, back in 1988, I obtained the diploma of Computer Technician, with ease and with full marks, at the “Ettore Majorana” State Industrial Technical Institute in Martina Franca.

  Mi appassionai presto a questa disciplina nuova ed innovativa. Scoprii una naturale predilezione per la logica, la teoria dei sistemi, gli algoritmi ed i linguaggi di programmazione. Infatti, nell'ormai lontano 1988, ottenni il diploma di Perito Tecnico Informatico, con facilità ed a pieni voti, presso l'Istituto Tecnico Industriale Statale “Ettore Majorana” di Martina Franca. 



~ o ~ 
 

§4. My first professional experiences.

Le mie prime esperienze professionali.


  Computer Science became the main interest of my life, and programming became my favorite pastime. The first job opportunities that served me to broaden my horizons and understand the transversality of this discipline that was quickly permeating all professional sectors were not long in coming. I have gained many experiences, each one different from the other, both in the technology of electronic computers and in programming languages. I ranged from programming in RPG3 of an IBM System 38 mini-system to reverse engineering of the routines written in Macro-assembler and Pascal of the operating system of an Olivetti-Ivrea machine-tool.

  L’informatica diventò l'interesse principale della mia vita, e la programmazione diventò  il mio passatempo preferito. Non tardarono ad arrivare le prime opportunità lavorative che mi servirono per allargare gli orizzonti e comprendere la trasversalità di questa disciplina che stava permeando velocemente tutti i settori professionali. Ho maturato tante esperienze l'una diverse dall'altra, sia per la tecnologia degli elaboratori elettronici, che per i linguaggi di programmazione. Ho spaziato dalla programmazione in RPG3 di un mini-sistema IBM System 38 alla reverse engineering delle routine scritte in Macro-assembler e Pascal del sistema operativo di una macchina-utensile Olivetti-Ivrea.


  I completed the period of my first post-diploma experiences with a flourish with an internship at "OA Sistemi” (>), which was a virtuous company that dealt with office automation, and which since 2000 has become part of the group "Wolters Kluwer” (>). During the internship I created an application in C-language for automating the printing of cashier's checks, through the use of an Olivetti ETV2700 machine for video-writing.

  Completai in bellezza il periodo delle prime esperienze post-diploma con uno stage presso la "OA Sistemi” (>), che era un'azienda virtuosa che si occupava di office automation, e che a partire dall’anno 2000 è entrata a far parte del gruppo "Wolters Kluwer” (>). Durante lo stage realizzai in C-language un'applicazione per la automatizzazione della stampa di assegni circolare, attraverso l'utilizzo di una macchina Olivetti ETV2700 per la video-scrittura.



~ o ~ 
 

§5. Computer Science or Electronics?

Informatica o Elettronica?


   By the end of my high school studies, my passion for computer science had grown to such an extent that I would have continued his study at the university. This did not happen because mainly at the same time I also became interested in electronics.

   However, in the future, information technology has also had its revenge on electronic engineering. In fact, computer science permeated many teachings of the course of study, such as the course of information processing systems, electronic computers, operating systems, process control, applied energy, numerical computing.

  Alla fine dei miei studi superiori la mia passione per l'informatica era cresciuta a tal punto che avrei proseguito il suo studio anche all'Università. Ciò non avvenne perché principalmente contestualmente mi appassionai anche all'elettronica.

  Tuttavia in futuro l’informatica ha avuto la sua rivincita anche sulla ingegneria elettronica. Infatti l'informatica permeò in molti insegnamenti del corso di studi, come per esempio il corso di sistemi di elaborazione dell’informazione, calcolatori elettronici, sistemi operativi, controllo di processi, energetica applicata, calcolo numerico.



~ o ~ 
 

§6. Other professional experiences.

Other professional experiences


During the course of my studies I have always taken care to always combine the theoretical study with practical implementation, maintaining part-time professional relationships with various companies operating in the fields of information technology, office automation, entertainment, and research.

   Thanks to these collaborations I have gained a good experience in the development, experimentation, validation, correction (debug) and optimization of software algorithms. I ranged through all the existing programming paradigms. In fact, I moved from low-level procedural "imperative" languages (MASM to be clear) to "object oriented" ones (C ++, Java), passing through "structured" ones (Pascal, ANSI-C).

  Durante il corso degli studi ho sempre avuto cura di affiancare sempre allo studio teorico la implementazione pratica, intrattenendo rapporti professionali part-time con varie società operanti nei settori dell'information technology, della office automation, dell'intrattenimento, e della ricerca. 

  Grazie a queste collaborazioni ho maturato una buona esperienza nello sviluppo, sperimentazione, validazione, correzione (debug) ed ottimizzazione degli algoritmi software. Ho spaziato tra tutti i paradigmi di programmazione esistenti. Infatti, sono passato dai linguaggi "imperativi" procedurali a basso livello (MASM per intenderci) a quelli "object oriented" (C++, Java), passando per quelli "strutturati" (Pascal, ANSI-C).



~ o ~
 

§7. UML.


  The collaboration on research projects of the European Community brought me closer to the modeling language "Unified Modeling Language”, briefly UML, (>), which is used for the design of software architectures based on the object-oriented programming paradigm. 

   UML is the universally recognized standard within the object-oriented design and programming communities. In fact, much of the sector literature uses UML to describe analytical and design solutions in a synthetic and understandable way to a wide audience.z

  La collaborazione su progetti di ricerca della Comunità Europea mi hanno avvicinato al linguaggio di modellazione "Unified Modeling Language”, brevemente UML (>), che è utilizzato per la progettazione di architetture software basate sul paradigma di programmazione orientato agli oggetti. 

  L'UML è lo standard universalmente riconosciuto all’interno delle comunità di progettazione e programmazione a oggetti. Infatti gran parte della letteratura di settore usa UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico.



~ o ~ 
 

§8. CORBA


  Un’altra tecnologia interessante che ho avuto modo di sperimentare è stata CORBA che sta per Common Object Request Broker Architecture. E’ un middleware definito da OMG (Object Manager Group, lo stesso di UML) utile per la costruzione di sistemi informatici distribuiti. Esso fornisce una infrastruttura che permette la comunicazione tra componenti di una rete, indipendentemente dalla loro distribuzione sui diversi nodi o dal linguaggio di programmazione con cui siano stati sviluppati. I vari componenti comunicano attraverso un oggetto chiamato "broker" (da cui deriva il nome dell'architettura), che può essere visto come un intermediario fra le parti in comunicazione. Il progetto su cui ho sperimentato questo strumento consisteva in un sistema distribuito per lo studio di oggetti costruiti in fibra di carbonio. L’architettura prevedeva la presenza di più client dislocati presso le sedi di aziende produttrici di vari oggetti, come per esempio bome di barche, giranti di pompe, eliche di motori nautici. Il server condiviso tra i vari client era costituito da un simulatore potentissimo di analisi agli elementi finiti (FEM) di proprietà di un centro di ricerca francese. Ogni client definiva la geometria e la struttura della fibra di carbonio dei propri prodotti, mentre il server di simulatore determinava la risposta dell’insieme alle varie sollecitazioni meccaniche. CORBA costituiva per l’appunto il mezzo attraverso cui i vari oggetti comunicavano tra loro attraverso una rete.



~ o ~ 
 

§9. Java-base process-oriented library 


L'opportunità di lavorare su progetti di ricerca basati sulla simulazione ad eventi discreti mi ha dato la possibilità di approfondire la teoria della simulazione di impratichirmi con strumenti professionali per la modellazione e simulazione di processi (Arena). L'applicazione informatica in questo caso è consistita nell’utilizzo della  libreria Java-based Silk (Kevin J. Healy, Richard A. Kilgore), attraverso la quale è possibile creare un approccio process-oriented, tipico degli ambienti di simulazione, ma utilizzando un linguaggio di programmazione object-oriented come Java.



~ o ~ 
 

§10. Image processing.


Il mio impegno professionale dal 2002 ad oggi verte sui sistemi di visione artificiale. L’utilizzo specifico dell'informatica per questo settore mi ha permesso di affinare la tecnica di programmazione al fine di ottimizzare le performance degli algoritmi di elaborazione delle immagini. Ho avuto modo di utilizzare diversi ambienti di sviluppo e librerie delle principali aziende del settore: Visilog della francese Noesis; CheckPoint, VisionPro e In-sight della americana Cognex, Halcon della tedesca MVTech; e la libreria open source OpenCV. Mi sono occupato della prototipazione degli algoritmi di Image processing e della loro successiva integrazione all'interno di applicazioni di machine vision per il controllo di qualità industriale e per la diagnostica della infrastruttura ferroviaria.


L'informatica si è rivelata poi il filo conduttore della mia vita professionale. E tuttora ne rappresenta l'attività predominante.



§ Sistemi di Comunicazione

§ Dal Broadcasting al Socialcasting, passando per il Narrowcasting


#communication #broadcasting #socialcasting #webcasting #narrowcasting

"Ecco cosa sono i social media: un insieme di strumenti che ti permettono di fare qualcosa di più elaborato che semplicemente trasmettere (broadcast) un messaggio; sono strumenti per creare e sostenere una conversazione."
(cit. Clay Shirky, studioso di comunicazione e tecnologia)

Riferendosi ad un sistema di comunicazione, il broadcasting indica una modalità di trasmissione in cui una singola sorgente trasmette informazioni in modo unidirezionale ad un vasto numero di persone, chiamata pubblico. Il termine broadcasting ha dominato il panorama della comunicazione di massa grazie al sistema radiotelevisivo.
Le caratteristiche principali del broadcasting includono:
 - Unidirezionalità: La comunicazione avviene da uno a molti, senza possibilità di interazione diretta.
 - Controllo centralizzato: I contenuti sono prodotti e controllati da un numero limitato di emittenti.
 - Pubblico generalizzato: I contenuti sono progettati per raggiungere e interessare il pubblico più ampio possibile.

Il broadcasting non si riferisce solo a una soluzione tecnica, ma rappresenta anche una forma culturale e sociologica strategica. È stato utilizzato istituzionalmente per la diffusione ufficiale delle notizie e per il controllo sociale.

In contrapposizione al modello di trasmissione da uno a molti (broadcasting), si è affermato un nuovo modello di comunicazione chiamato narrowcasting. Questo è caratterizzato dalla trasmissione da pochi a pochi e utilizza canali specifici per veicolare contenuti a pubblici mirati.

Il termine narrowcasting è nato per descrivere la strategia della televisione via cavo negli Stati Uniti, dove "narrowing" si riferisce alla segmentazione dello spettro di radiofrequenze. Tuttavia, il concetto di narrowcasting si applica anche a Internet.
Le caratteristiche principali del Narrowcasting includono:
 - Segmentazione del Pubblico: Il narrowcasting si rivolge a segmenti specifici di pubblico con interessi, bisogni o caratteristiche particolari.
 - Contenuti Personalizzati: I contenuti sono progettati per essere altamente pertinenti e personalizzati per il pubblico target. 
 - Canali Specializzati: Utilizza canali di comunicazione specializzati o nicchie, come canali televisivi tematici, stazioni radio di nicchia, newsletter specializzate, o gruppi online dedicati a interessi specifici.

Il narrowcasting rappresenta una soluzione tecnologica e una forma culturale che hanno segnato la fine della comunicazione di massa.

Con il passare del tempo e l'affermarsi di Internet come strumento principale per la circolazione dei contenuti, è emerso il bisogno di definire un paradigma di comunicazione specifico per il web: il webcasting. Questo modello è caratterizzato dalla possibilità di trasmettere contenuti sia in modalità broadcasting (da uno a molti) sia in modalità segmentata, raggiungendo pubblici mirati.
Le caratteristiche principali del webcasting includono:
 - Flessibilità: I contenuti possono essere trasmessi sia in modalità broadcasting (da uno a molti) sia in modalità narrowcasting (da pochi a pochi).
 - Accessibilità: Chiunque può diventare un emittente, riducendo le barriere di ingresso e democratizzando la produzione di contenuti.
 - Interattività: Gli utenti possono interagire con i contenuti e con gli altri utenti, creando un'esperienza più coinvolgente.

Il termine webcasting si riferisce all'aspetto tecnologico di Internet. Tuttavia, se volessimo enfatizzare l'aspetto sociale e culturale del web partecipativo, come i blog, i social network e il videosharing, dovremmo parlare di socialcasting. In questo modello, il flusso dei contenuti avviene grazie alla collaborazione attiva delle persone che ne fruiscono.
Le caratteristiche principali del webcasting includono:
 - Flessibilità: I contenuti possono essere trasmessi sia in modalità broadcasting (da uno a molti) sia in modalità narrowcasting (da pochi a pochi).
 - Accessibilità: Chiunque può diventare un emittente, riducendo le barriere di ingresso e democratizzando la produzione di contenuti.
 - Interattività: Gli utenti possono interagire con i contenuti e con gli altri utenti, creando un'esperienza più coinvolgente.

31/5/2024


~ o ~
 

§11. Big Data


New information technologies are progressing and making huge volumes of digital data available. Modern information technology by making available the techniques for the management and processing of large amounts of data offers new strategic opportunities.
Le nuove tecnologie informatiche stanno procedendo e rendendo disponibili enormi volumi di dati digitali. L'informatica moderna mettendo a disposizione le tecniche per la gestione ed elaborazione di grosse moli di dati offre delle nuove opportunità strategiche. 

To learn more, I invite you to continue exploring the IT section of TILLL by reading the following article which describes in detail the peculiarities and applications of this new technology.
Per approfondire ti invito a proseguire l’esplorazione della sezione Informatica di TILLL con la lettura dell’articolo seguente che descrive in modo particolareggiato le peculiarità e le applicazioni di questa nuova tecnologia.

The phenomenon of the production of large quantities of data, characteristic of modern computer applications.
Il fenomeno della produzione di grosse quantità di dati, caratteristico delle moderne applicazioni informatiche.
>>> IT.1 <<<


~ o ~ 
 
§12. Business Intelligence 

There is an application of information technology which, in particular today thanks to the digitization and the availability of enormous quantities of data (big data), is assuming a significant importance for the management of companies. Business Intelligence, whose strategic importance has always been clear and indisputable, is now becoming an essential necessity for companies that do not intend to lose competitiveness on the market.
Esiste una applicazione dell'informatica che, in particolare oggi grazie alla digitalizzazione ed alla disponibilità di enormi quantità di dati (big data), sta assumendo un'importanza rilevante per la gestione delle aziende. La Business Intelligence, la cui importanza strategica è da sempre palese ed indiscutibile, oggi sta diventando una necessità imprescindibile per le aziende che non intendono perdere competitività sul mercato.

If you want to learn more about the particularities of this particular application of information technology, then I invite you to continue the exploration of the Learning section of TILLL by reading the following article which describes its fundamental principles and tools for companies, such as for example performance indices and control dashboards.
Se vuoi approfondire le particolarità di questa particolare applicazione dell'informatica, allora ti invito a proseguire l'esplorazione della sezione Learning di TILLL con la lettura dell'articolo seguente che che ne descrive i principi fondamentali e gli strumenti di ausilio per le aziende, come per esempio gli indici di performance ed i cruscotti (dashboard) di controllo.

Business Intelligence
>>> IT.2/AU.2 <<< 

-----------------------------------------

updated September 5, 2022


~ o ~
 
§13. Cloud Computing

The advantages of cloud computing are as follows:
 - Scalability and on-demand elasticity in the consumption of computing resources.
 - Virtually unlimited storage resources. Ideal environment for those processes that require analyzing huge amounts of data, such as predictive models or ML / AI algorithms.
 - delegation of the systemic aspects and management of the packages applied to them.
 - easy accessibility from anywhere.
1 Vantaggi del cloud computing sono i seguenti: 
 - Scalabilità ed elasticità on-demand nel consumo di risorse di computing. 
 - Risorse di storage virtualmente illimitate. Ambiente ideale per quei processi che richiedono di analizzare enormi quantità di dati, come ad esempio i modelli predittivi o algoritmi di ML/AI.
 - delega degli aspetti sistemici e di gestione dei pacchetti applicatovi.
 - semplice accessibilità da qualunque posto.


Versus. Instead, let's analyze the disadvantages of this paradigm:
 - in certain production contexts, adequate resources are required in terms of network bandwidth and latency
 - safety. The choice of outsourced cloud services involves the disadvantage of lower data security compared to the use of internal company systems. Many companies are very reluctant to agree to entrust their data to cloud services, because they are concerned that it can be seen and used by external parties.
Contro. Analizziamo invece gli svantaggi di questo paradigma:
 - in determinati contesti produttivi sono necessarie adeguate risorse in termini di banda e latenza di rete 
 - sicurezza. La scelta di servizi cloud esternalizzati comporta lo svantaggio di una minore sicurezza dei dati rispetto all’utilizzo di sistemi interni all’azienda. Molte aziende hanno grosse remore ad accettare di affidare i propri dati a servizi cloud, perché sono preoccupati del fatto che possano essere visti e utilizzati da soggetti esterni.

To deepen the discussion of cloud computing, continue the consultation of the IT section of TILLL with the reading of the following article which offers an overview of this paradigm and its applications.
Per approfondire la trattazione del cloud computing, continua la consultazione della sezione Informatica di TILLL con la lettura del seguente articolo che offre una panoramica di questo paradigma e delle sue applicazioni.

Cloud Computing
>>> IT.3 <<<

We are talking about: #cloudComputing 


References to useful sources for further information:
Riferimenti a fonti utili per approfondimenti.

1. In balance between edge and cloud - round table -- Automazione Oggi 431 -- p.34
In equilibrio tra edge e cloud -- tavola rotonda -- Automazione Oggi 431

-----------------------------------------

last update July 2, 2022



~ o ~ 
 
§14. Edge Computing.

14.1 Definition.
Definizione.

Edge computing consists in the distribution of computing and communication resources to the periphery of automation and control systems. Thanks to technological evolution and electronic miniaturization (microelectronics) it is now possible to have the same intelligence and data collection and processing capacity typical of a data center directly at the source of the data, in the field. Local data processing takes place within micro data centers consisting of edge gateways and devices capable of organizing and transferring data to an external server.
L’edge computing consiste nella distribuzione delle risorse di calcolo e di comunicazione alla periferia dei sistemi di automazione e controllo. Grazie all’evoluzione tecnologica ed alla miniaturizzazione elettronica (microelettronica) adesso è possibile disporre della stessa intelligenza e capacità di raccolta ed elaborazione dati tipiche di un data center direttamente alla fonte di origine dei dati, sul campo. L’elaborazione locale dei dati avviene all’interno di micro data center costituiti da edge gateway e dispositivi in grado di organizzare e trasferire i dati ad un server esterno.

14.2 Advantages of edge computing solutions.
Vantaggi delle soluzioni edge computing.

The advantages of solutions based on the edge-computing paradigm are the following:
 - Edge computing is essential especially when it is necessary to operate in real time. Through the new aids of edge computing, it is now possible to react in real time to critical situations and exploit artificial intelligence to manage complex processes directly in the field.
 - ideal tool for the collection of large amounts of data in the vicinity deriving for example from IoT solutions.
 - Edge computing allows to reduce response times in individual subsystems, while limiting bandwidth consumption to higher-level controllers, and to the cloud in hybrid solutions.
 - Edge computing makes it possible to make decisions on the spot, anticipating their effects.
 - Edge computing improves the resilience of production processes that can continue to operate even in the absence of connectivity to remote data centers or cloud services.
 - Edge computing is a safe solution because it allows you not to transfer data, or at least to transfer only the indispensable part. Furthermore, the electronic devices being designed for industrial applications are more robust and reliable.
I vantaggi delle soluzioni basate sul paradigma edge-computing sono le seguenti:
 - L’edge computing è imprescindibile soprattutto quando è necessario operare in real time.  Attraverso i nuovi ausili dell’edge computing adesso è possibile reagire in tempo reale a situazioni critiche e sfruttare l’intelligenza artificiale per gestire direttamente sul campo processi complessi.
 - strumento ideale per la raccolta di grosse moli di dati in prossimità derivanti per esempio da soluzioni IoT.
 - L’edge computing permette di ridurre i tempi di risposta nei singoli sottosistemi, limitando al contempo il consumo di banda verso i controllori di livello superiore, e verso il cloud nelle soluzioni ibride.
 - L’edge computing permette di prendere decisioni in loco, anticipandone gli effetti.
 - L’edge computing migliora la resilienza dei processi produttivi che possono continuare ad operare anche in mancanza di connettività verso data center remoti o servizi cloud.
 - L’edge computing è una soluzione sicura perché permette di non trasferire i dati, o perlomeno di trasferire solo la parte indispensabile. Inoltre i dispositivi elettronici essendo concepiti per applicazioni industriali sono più robusti ed affidabili.

14.3 Disadvantages of edge computing.
Svantaggi dell'edge computing.

Instead, the disadvantages of edge computing solutions are the following:
  - The hardware infrastructures needed to implement edge computing are still particularly expensive.
  - Edge computing systems are less accessible than cloud-based systems, because they are devices whose access is limited to company boundaries.
Invece gli svantaggi delle soluzioni edge computing sono le seguenti:
 - Le infrastrutture hardware necessarie per implementare L’edge computing sono ancora particolarmente costose.
 - i sistemi edge computing sono meno accessibili rispetto a quelli di tipo cloud, perché sono dispositivi il cui accesso è circoscritto ai confini aziendali.

14.4. Hybrid edge/cloud solutions.
Soluzioni ibride edge/cloud. 

Edge and Cloud Computing represent two computational paradigms destined to coexist in modern automation systems.
   For example, the large amounts of data produced by edge / IoT systems need, even if already analyzed on site, to be stored in a centralized way, in safety, historicized and analyzed over time. The transmission of data to the data centers is reduced to what is strictly necessary, that is to the quantity necessary for data mining, processing and other non-real time services, such as for example the preparation of reports.
   Edge and cloud are not two opposing paradigms, but complementary ones, which integrate with each other with different advantages, functions and characteristics.
Edge e Cloud Computing rappresentano due paradigmi computazionali destinati a coesistere nei moderni sistemi di automazione.
  Per esempio, le grosse quantità di dati prodotte dai sistemi edge/IoT ha la necessità, anche se già analizzati in loco, di essere comunque memorizzati in modo centralizzato, in sicurezza, storicizzati e analizzati nel tempo. La trasmissione di dati verso i data center è ridotta allo stretto necessario, ossia alla quantità necessaria per fare data mining, elaborazione e altri servizi non real time, come per esempio la redazione dei reports.
  Edge e cloud non sono due paradigmi in contrapposizione, ma complementari, che si integrano tra di loro con vantaggi, funzioni e caratteristiche differenti.

A typical example of a hybrid application is that of connected vehicles.
A second concrete case could be that of a retail reality consisting of a central private cloud and a network of stores.
Un esempio tipico di applicazione ibrida è quella dei connected vehicles.
Un secondo caso concreto potrebbe essere quello di una realtà retail composta da un private cloud centrale ed una rete di negozi.

Edge computing will even become functional to cloud computing, since among its functions there is not only that of collecting data, but also that of filtering and aggregating them, thus allowing to reduce cloud management costs.
   Obviously, it is necessary to carefully divide the workload between edge computers, private servers or the cloud. For example, think of mobile applications (buses, trains) for which an important parameter is the continuity of the mobile communication network.  
L’edge computing diventerà addirittura funzionale al cloud computing, dato che tra le sue funzioni c’è non solo quella di raccogliere i dati, ma anche quella di filtrarli e aggregarli, permettendo così di ridurre i costi di gestione del cloud.
  Ovviamente è necessario ripartire oculatamente il carico di lavoro fra edge computer, server privati o cloud. Si pensi per esempio ad applicazioni in mobilita (bus, treni) per le quali un parametro importante è costituito dalla continuità della rete di comunicazione mobile.

For artificial intelligence (AI) and machine learning (ML) applications the workload must be distributed so that the cloud takes care of creating the ML models and performing training on large amounts of data, and devices use and apply these models directly in the field where the information is generated.  
Per applicazioni di intelligenza artificiale (AI) e machine learning (ML) il carico di lavoro il carico di lavoro va ripartito in modo che il cloud si occupi della creazione dei modelli di ML e della esecuzione di training su grandi quantità di dati , ed i dispositivi utilizzino ed applichino questi modelli direttamente sul campo dove l’informazione è generata.

In the future, the concept of trade-off between edge and cloud will lose its meaning because the infrastructures will be governed by artificial intelligence algorithms which, properly trained, will determine on a case-by-case basis whether every single workload should be processed at the edge or not (liquid infrastructures) .  
In futuro il concetto di trade-off tra tra edge e cloud perderà di significato perché le infrastrutture saranno governate da algoritmi di intelligenza artificiale che, opportunamente addestrate, determineranno caso per caso se ogni singolo workload debba essere elaborato in edge o meno (infrastrutture liquide).

Hashtag keywords: #edgeComputing #cloudComputing 

References to useful sources for further information.
Riferimenti a fonti utili per approfondimenti.

1. In balance between edge and cloud - round table -- Automazione Oggi 431 -- p.34
In equilibrio tra edge e cloud -- tavola rotonda -- Automazione Oggi 431

-----------------------------------------

last update July 2, 2022



~ o ~ 
 
§15. Computer Graphics.
Computer Grafica.

By computer graphics, digital graphics or computer graphics, we mean that vast and relatively recent computer discipline which has as its object the creation and manipulation of images and films by means of the computer.
Per computer grafica, grafica digitale o grafica computerizzata (in inglese computer graphics), si intende quella vasta e relativamente recente disciplina informatica che ha per oggetto la creazione e la manipolazione di immagini e filmati, per mezzo del computer.

One of the most popular applications of computer graphics is constituted by 3D computer graphics which is based on the elaboration of a set of three-dimensional models using algorithms to produce a photographic and optical likelihood in the final image. It is used in the creation and post-production of works or parts of works for cinema or television, in video games, in architecture, in engineering (CAD), in art and in various scientific fields, where the production of contents by other means it is not possible or not convenient.
Una delle applicazioni più in voga della computer grafica è costituita dalla Computer Grafica 3D che si basa sull'elaborazione di un insieme di modelli tridimensionali tramite algoritmi atti a produrre una verosimiglianza fotografica e ottica nell'immagine finale. Essa viene utilizzata nella creazione e post-produzione di opere o parti di opere per il cinema o la televisione, nei videogiochi, nell'architettura, nell'ingegneria (CAD), nell'arte e in svariati ambiti scientifici, dove la produzione di contenuti con altri mezzi non è possibile o non conveniente.

If you want to deepen the discussion of Computer Graphics, then I invite you to continue consulting the IT section of TILLL by reading the following article, which offers an overview of this application which is gaining importance in various technological sectors.
Se vuoi approfondire la trattazione della Computer Grafica, allora ti invito a continuare la consultazione della sezione Informatica di TILLL con la lettura dell’articolo seguente, che offre una panoramica di questa applicazione che sta assumendo una importanza in vari settori tecnologici.

The graphic representation by means of the modern technologies of electronic computing
La rappresentazione grafica per mezzo delle moderne tecnologie di calcolo elettronico
>>> IT.4 <<<


~ o ~ 
 
§16. High-performance computing.
Il super-calcolo.

I problemi con cui il mondo della ricerca e dell’industria si misurano diventano di giorno in giorno sempre più complessi. Per questo motivo nell’Informatica moderna assumono una importanza sempre crescente tutte quelle applicazioni che mirano alla realizzazione di sistemi di calcolo ad alte prestazioni. 

If you want to deepen the discussion of High Performance Computing, then I invite you to continue consulting the IT section of TILLL by reading the following article, which offers an overview of main solution for the high-performance electronic computing.
Se vuoi approfondire la trattazione del Super-Calcolo, allora ti invito a continuare la consultazione della sezione Informatica di TILLL con la lettura dell’articolo seguente, che offre una panoramica delle principali soluzioni per il calcolo elettronico ad alte prestazioni.

The High-Performance Computing.
Il super-calcolo.
>>> IT.5 <<<


~ o ~ 
 
§17. Computer Programming.
La programmazione dei calcolatori elettronici.


  Software developmentThe Software development is the process of conceiving, specifying, designing, programming, documenting, testing, and bug fixing involved in creating and maintaining applications, frameworks, or other software components.
  Sviluppo del software. Lo sviluppo del software è il processo di ideazione, specifica, progettazione, programmazione, documentazione, test e correzione di bug coinvolti nella creazione e nella manutenzione di applicazioni, framework o altri componenti software.

§17.1. Programming Basics.
Le basi della programmazione.

Before we proceed there are some key terms that should be clear. If you already master these topics you can also skip the next sections.
Prima di procedere ci sono alcuni termini chiave che dovrebbero essere chiari. Se padroneggi già con questi argomenti puoi anche saltare le prossime sezioni.

Code. Code is a series of instructions that a computer will execute when code is executed. The code is written in a programming language, and with it the programmer determines what the computer should do. The code is received by the compiler which is itself a code capable of understanding our code and translating it into a lower-level and machine-understandable language. The code can be as simple as adding two numbers, or as complex as rendering an animation. Writing code means typing the code instructions into a text file that will later be passed to the compiler. A program can be written from scratch, or it can use pre-written pieces of code to perform certain functions.
Il codice. Il codice è una serie di istruzioni che un computer eseguirà quando viene eseguito il codice. Il codice è scritto in un linguaggio di programmazione, e con esso il programmatore stabilisce cosa il computer deve eseguire. Il codice è recepito dal compilatore che è esso stesso un codice in grado di comprendere il nostro codice e tradurlo in un linguaggio a più basso livello e comprensibile dalla macchina.  Il codice può essere estremamente semplice come quello che somma due numeri, o complesso come quello che esegue il rendering di un'animazione. Scrivere codice significa digitare le istruzioni del codice in un file di testo che sarà successivamente passato al compilatore. Un programma può essere scritto da zero, oppure può utilizzare pezzi di codice già scritti per assolvere determinate funzioni.

Files. Code is stored in text files that usually any text editor can open. These files contain your code and nothing else. For larger and more complex projects, you can link multiple files together. Sometimes, larger projects will have many hundreds of code files that will all be linked together to create the sum of the code for the application.
File. Il codice è memorizzato in file di testo che di solito possono essere aperti da qualsiasi editor di testo. Questi file contengono il tuo codice e nient'altro. Per progetti più grandi e complessi, puoi collegare più file insieme. A volte, i progetti più grandi avranno molte centinaia di file di codice che saranno tutti collegati insieme per creare la somma del codice per l'applicazione.

Compiler. A compiler is a program that takes a file of code (or many files of code) and transforms it into a series of instructions directly interpretable by the computer's processor, and which the computer will execute. Most modern computers do not directly process the instructions you write in the code; instead, the compiler pre-transforms all your code into machine instructions. The compiler in this case creates an executable file that the computer can understand and execute directly.
Compilatore. Un compilatore è un programma che prende un file di codice (o molti file di codice) e lo trasforma in una serie di istruzioni direttamente interpretabili dal processore del computer, e che il computer eseguirà.  La maggior parte dei computer moderni non elabora direttamente le istruzioni che tu scrivi nel codice; invece, il compilatore trasforma preventivamente tutto il tuo codice in istruzioni macchina. Il compilatore in questo caso crea un file eseguibile che il computer è in grado di comprendere ed eseguire direttamente.

Executable. An executable is a file that can be run as an application. It is the result of writing the code and compiling it. Sometimes the terms application and executable are used interchangeably, but they are not the same. An application in the simplest case is composed of an executable file, but for complex applications it can also be composed of many executable files.
EseguibileUn eseguibile è un file che può essere eseguito come un'applicazione. È il risultato della scrittura del codice e della sua compilazione. A volte i termini applicazione ed eseguibile sono usati in modo intercambiabile, ma non sono la stessa cosa. Un'applicazione nel caso più semplice è composta un file eseguibile, ma per applicazioni complesse può essere composta anche da molti file eseguibili.

Hashtag keywords: #coding #programming #compiler #executable 

-----------------------------------------

last update June 4, 2022



§17.2 Programming paradigms.
I paradigmi di programmazione.

Software development, and then program languages used in the process, can be classified in multiple paradigms basing on their features
Lo sviluppo del software, e quindi i linguaggi di programmazione utilizzati nel processo, possono essere classificati in più paradigmi in base alle loro caratteristiche.

  Imperative ProgrammingIn computer science, imperative programming is a programming paradigm that uses statements that change a program's state. In much the same way that the imperative mood in natural languages expresses commands, an imperative program consists of commands for the computer to perform. Imperative programming focuses on describing how a program operates.
  Programmazione imperativa. In informatica, la programmazione imperativa è un paradigma di programmazione che utilizza istruzioni che modificano lo stato di un programma. Più o meno allo stesso modo in cui il modo imperativo nei linguaggi naturali esprime comandi, un programma imperativo consiste di comandi che il computer deve eseguire. La programmazione imperativa si concentra sulla descrizione di come funziona un programma.

To learn more about Imperative Programming paradigm, I suggest reading the following article.
Per approfondire il paradigma della Programmazione Imperativa ti suggerisco la lettura dell’articolo seguente.

The “imperative” era is now at its end
L’era “imperativa” è ormai al tramonto


 
  Functional Programming. A programming paradigm, which is particularly suitable for parallel computing, is that of functional programming. This paradigm, already used for some time in the scientific environment and in research institutes, could finally gain the limelight thanks to the advent of recent multi-core technologies. Examples of programming languages based on this "functional" paradigm are: OCaml, Clojure, Scala, Haskell, Scheme, Python F # and Ruby.
  Programmazione Funzionale. Un paradigma di programmazione, che in particolare è adatto al calcolo parallelo, è quello della programmazione funzionale. Questo paradigma già utilizzato da tempo in ambiente scientifico e negli istituti di ricerca potrebbe guadagnare finalmente le luci della ribalta proprio grazie all'avvento delle recenti tecnologie multi-core. Esempi di linguaggi di programmazione basati su questo paradigma “funzionale” sono: OCaml, Clojure, Scala, Haskell, Scheme, Python F# e Ruby.

To learn more about Functional Programming paradigm, I suggest reading the following article.
Per approfondire il paradigma della Programmazione Funzionale ti suggerisco la lettura dell’articolo seguente.

The functional programming
La programmazione funzionale


  Object-oriented Programming. Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data and code: data in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods).
  Programmazione orientata agli oggetti. La programmazione orientata agli oggetti è un paradigma di programmazione basato sul concetto di "oggetti", che può contenere dati e codice: dati sotto forma di campi (spesso noti come attributi o proprietà) e codice, sotto forma di procedure (spesso noti come metodi).

Hashtag keywords: #softwareDevelopment #programming #imperative #functional #OOP #TateoBlog #TILLL

Resources and Insights
(1) Software development, Wikipedia
(2) Programming paradigm
(3) Imperative programming
(4) Functional programming
(5) Object-oriented programming


~ o ~ 
 
§18. Ricerca Operativa 

Sul fronte delle applicazioni industriali a fianco dei sistemi informativi si stanno diffondendo i sistemi per il supporto alle decisioni. Le principali applicazioni si hanno nel campo economico e finanziario, nella progettazione dei sistemi flessibili di produzione, negli strumenti avanzati per la progettazione automatizzata e per la gestione di risorse. Tale scenario impone che le metodologie classiche della ricerca operativa non possano più non tener conto dei nuovi strumenti informatici oggi disponibili. Così come l’informatica non può ignorare e fare a meno del patrimonio modellistico ed algoritmico retaggio della ricerca operativa. Esiste quindi una interazione molto importante ed attuale tra ricerca operativa e informatica. 
Per approfondire, continua la consultazione della sezione Informatica con la lettura del seguente articolo:

The Operations Research
{La Ricerca Operativa}


~ o ~ 
 
§19. Dispostivi Mobili 

Recentemente la possibilità di disporre dei dispositivi di calcolo e comunicazione (Internet) ovunque lo si desideri ha assunto un ruolo importante per le tecnologie informatiche e della comunicazione. Per questo motivo ho ritenuto opportuno dedicare parte del mio tempo per approfondire le potenzialità di questa nuova frontiera dell'informatica. Anche se la potenza di calcolo per un dispositivo mobile non è mai stato e non sarà mai il vero punto di forza rispetto alle installazioni fisse. La vera innovazione del dispositivo mobile sta nell'essere, per l'appunto, mobile.  Ossia sta nella possibilità di poter seguire l'utente ovunque, permettendo quindi ad esso di usufruirne in qualsiasi momento. I confini tra i personal computer, i laptop  ed i dispositivi mobili appariranno sempre meno definiti ed io sono convinto che tra vent'anni non parleremo più di nessuno di queste tre categorie di prodotti. Per approfondire, continua la consultazione di TATEO-BLOG con la lettura dell'articolo seguente:



~ o ~ 
 
§20. Origins, characteristics and applications of the nascent Blockchain technology.
Origini, caratteristiche e applicazioni della nascente tecnologia della Blockchain.


  The spread of digitization and the use of digital communication networks to convey negotiations and economic transactions, imposes the need for new mechanisms that protect the security, reliability and transparency of transactions carried out on the network.
The birth of the digital currency Bitcoin in 2008 required the need for a mechanism that acts as a register of all transactions, that is, as a "ledger".
  Let's try to imagine a new economic system in which information, contracts and certificates are not held by centralized and corruptible entities, but which are stored in distributed and networked data structures, and which are accessible by anyone if necessary.
  It is understandable that such a system would be more democratic and would better protect all those social groups that today are conditioned by the predominance of strong powers such as the economy, politics, the underworld, terrorism.
  If it were possible to define a new technology capable of automatically satisfying security needs, then a new socio-economic scenario could be envisaged in which databases are no longer centrally managed by authorities and intermediaries, such as public administrations, banks, insurance companies, which in addition to constituting a cost, also represent risks to security, freedom and equity.
  La diffusione della digitalizzazione e dell’uso delle reti di comunicazione digitale per veicolare trattative e transazioni economiche, impone la necessità di nuovi meccanismi che tutelino la sicurezza, l’affidabilità e la trasparenza delle transazioni eseguite sulla rete.
La nascita della valuta digitale Bitcoin nel 2008 ha richiesto la necessità di un meccanismo che agisca come registro di tutte le transazioni, ossia come “libro mastro”.
  Proviamo ad immaginare ad un nuovo sistema economico in cui le informazioni, i contratti, i certificati non sono detenuti da enti centralizzati e corruttibili, ma che siano archiviati in strutture dati distribuite ed organizzate a rete, e che siano accessibili da chiunque all’occorrenza.
  E’ comprensibile che un sistema siffatto risulterebbe più democratico e tutelerebbe maggiormente tutte quelle fasce sociali che oggi sono condizionate dal predominio dei poteri forti come l’economia, la politica, il malaffare, il terrorismo.
  Se si riuscisse a definire una nuova tecnologia in grado di soddisfare automaticamente le esigenze di sicurezza, allora  si potrebbe prospettare un nuovo scenario socio-economico in cui le banche dati non sono più gestite in modo centralizzato da autorità ed intermediari, come per esempio pubbliche amministrazioni, banche, assicurazioni, che oltre a costituire un costo, rappresentano anche dei rischi per la sicurezza, la libertà e l’equità.

  The idea behind the mechanism of protection from alteration of the data contained in the data structure that we are considering, consists in conditioning the integrity of the entire data structure to the invariability of each of its components.
Since the data structure must be able to evolve and grow over time, the idea is to consider a sequence of components that can be added in successive instants of time, but which must be organized in sequence according to the chronological order of their definition. .
To ensure the integrity of each individual component, that is, to ensure that each component cannot be eliminated or modified, you can think of using encryption. While to ensure the integrity of the entire structure, one can think of correlating the validity of each block from the blocks that proceed it. So that any tampering with a component invalidates both the integrity of the corrupt component and the integrity of the entire data structure.
  L’idea che sta alla base del meccanismo di protezione da alterazioni dei dati contenuti nella struttura dati che stiamo considerando, consiste nel condizionare l’integrità dell’intera struttura dati alla invariabilità di ognuna delle sue componenti.
Poiché la struttura dati deve poter evolvere e crescere col passare del tempo, l’idea è quella di considerare una sequenza di componenti che possono essere aggiunti in istanti di tempo successivi, ma che devono essere organizzati in sequenza secondo l’ordine cronologico della loro definizione. 
Per garantire l’integrità di ogni singolo componente, ossia per garantire che ogni componente non possa essere né eliminato o modificato, si può pensare di utilizzare la crittografia. Mentre per garantire la integrità dell’intera struttura si può pensare di correlare la validità di ogni blocco dai blocchi che lo procedono. In modo che una eventuale manomissione di un componente invalidi sia la integrità del componente corrotto, sia l’integrità dell’intera struttura dati.

  The term blockchain literally means "chain of blocks". In fact it is composed of a sequence of blocks, linked in chronological order.
  A blockchain is made up of an initial block from which a chain of other blocks starts. Each block can contain a fork at the output. In the tree of blocks defined by the various bifurcations, a chain of so-called "main" blocks is distinguished, and one or more series of blocks called "orphans".
  The sectors in which it is possible to profitably apply the Blockchain technology are the following:
Finance. Blockchain technology was born together with cryptocurrencies and therefore Finance is the first sector involved in the development of projects related to it.
Agribusiness. Traceability makes its application very interesting in the logic of the supply chain and safety of what is brought to the table.
Logistics. Again, the key feature for the application is traceability.
Public Administration and Legal. There are several projects for the management of citizens' identities using this technology, as well as some applications of the so-called smart contracts, contracts with clauses that use the blockchain, already in use in various fields (for example, some airline insurance companies automatically trigger the refunds upon the occurrence of certain conditions, such as a delay of a certain number of hours).
  Il termine blockchain letteralmente significa “catena di blocchi”. Infatti essa è composta da una sequenza di blocchi, concatenati in ordine cronologico.
  Una blockchain è composta da blocco iniziale da cui parte una catena di altri blocchi. Ogni blocco può contenere in uscita una biforcazione. Nell’albero di blocchi definito dalle varie biforcazioni si distingue una catena di blocchi detti “principali”, e da uno o più serie di blocchi detti “orfani”.
  I settori in cui è possibile applicare proficuamente la tecnologia della Blockchain sono le seguenti:
Finanza. La tecnologia blockchain nasce insieme alle criptovalute e dunque quello della Finanza è il primo settore coinvolto nello sviluppo di progetti ad essa legati. 
Agroalimentare. La tracciabilità rende molto interessante la sua applicazione nelle logiche di filiera e sicurezza di ciò che si porta a tavola.
Logistica. Anche in questo caso la caratteristica chiave per l'applicazione è la tracciabilità.
Pubblica Amministrazione e Legale. Esistono diversi progetti per la gestione delle identità dei cittadini tramite questa tecnologia, nonché alcune applicazioni dei cosiddetti smart contract, contratti con clausole che utilizzano la blockchain, già in uso in diversi ambiti (per fare un esempio, alcune assicurazioni aeree fanno scattare in automatico i rimborsi al verificarsi di determinate condizioni, come un ritardo di un tot di ore).

Hashtag keywords: #ledger #bitcoin #blockchain #finance #agribusiness #logistics #publicAdministration #legal


Resources and insights.
(1) Blockchain, wikipedia
(2) Cos'è la blockchain? Le caratteristiche e le applicazioni, Back to Work


~ o ~ 
 
§21. Events dedicated to Computer Science and Information Technology.
Eventi dedicati all’informatica ed alle Tecnologie dell’Informazione.

Poiché l'informatica è  in continua evoluzione, un modo efficace per rimanere aggiornato è quello di seguire i principali eventi, fiere e congressi che sono dedicati ad esse. Per approfondire, continua la consultazione della sezione Informatica di TATEO-BLOG con la lettura dell’articolo seguente.

Events dedicated to Computer Science and Information Technology
{Eventi dedicati all’informatica ed alle Tecnologie dell’Informazione}


~ o ~ 
 

§22. More generally.

Più in generale.


  In the current article, which is the main one of the thematic area dedicated to Computer Science and Information Technology, we talked about UML, CORBA, process-oriented programming, Image processing algorithms, Big Data, Business Intelligence, Cloud Computing, Computer Grafica, Super-computing, Operative Research, Functional Programming and Mobile Devices. As you may have noticed, in correspondence with the various paragraphs, there are hypertext links that refer to other articles for an even more detailed discussion of the various topics on Computer Science and Information Technology.

   However, I would like to remind you that one of the main features of the “Tateo ~ LifeLong Learning” (T-LLL) project is interdisciplinarity. So if you want to know what are the other thematic areas that flank the Computer Science and Information Technology in T-LLL, then allow me to suggest reading the following article which, being dedicated to the "Encyclopedia" section of the LLL project, lists them all.

  Nell'articolo corrente, che è il principale dell’area tematica dedicata all’Informatica ed alle tecnologie ad essa correlate, abbiamo parlato di UML, CORBA; programmazione process-oriented, algoritmi di elaborazione di immagini, Big Data, Business Intelligence, Cloud Computing, Computer Grafica, Super-calcolo, Ricerca Operativa, Programmazione Funzionale e Dispositivi Mobili. Come avrete notato, in corrispondenza dei vari paragrafi, sono presenti dei collegamenti ipertestuali che rimandano ad altri articoli per la trattazione ancora più dettagliata dei vari argomenti su Informatica e Information Technology.

  Vorrei ricordarti però che una delle caratteristiche principali del progetto “Tateo ~ LifeLong Learning” (T-LLL) è la interdisciplinarietà. Quindi se vuoi conoscere quali sono le altre aree tematiche che affiancano l’Informatica e la Information Technology in T-LLL, allora permettimi di suggerirti la lettura del seguente articolo che, essendo dedicato alla sezione "Enciclopedia" del progetto LLL li elenca tutti.


THE ENCYCLOPEDIC SECTION OF THE TATEO LIFELONG LEARNING PROJECT 

La sezione enciclopedica del progetto di apprendimento continuo (Lifelong Learning) di Tateo

(T-LLL-E)

~ o ~

§23. Computer Science and Information Technology" section articles Index.
Indice degli articoli della sezione "Informatica e tecnologia dell'"Informazione".

IT > COMPUTER SCIENCE AND INFORMATION TECHNOLOGY
{Informatica e Tecnologia dell'Informazione}
 
IT.1 > BIG DATA: THE EVOLUTION OF DATA SCIENCE INTO THE INFORMATION AGE
{Big Data: l’evoluzione della Scienza dei Dati nell’era dell’Informazione}
 
IT.2 > BUSINESS INTELLIGENCE
{Business Intelligence}

IT.3 > CLOUD COMPUTING
{Cloud Computing}
 
IT.4> COMPUTER GRAPHICS
{Computer Grafica}

IT.5 > IT.5. THE HIGH-PERFORMANCE COMPUTING
{Il super-calcolo}



~ o ~ 


§24. Stay up to date.

Rimani aggiornato.



If you are interested in the topics covered in the current article and want to be updated on my latest compositions dealing with them, then I invite you to register 


on the Facebook page: 

Computer Science and Information Technology by Tateo's Interdisciplinary Lifelong Learning" (>)


and at the Pinterest dashboard: 

Computer Science and Information Technology by Tateo's Interdisciplinary Lifelong Learning" (>)


which I dedicated specifically for sharing the most recent changes made to the corresponding thematic area of Tateo~Learning (>).

{Se sei interessato agli argomenti trattati nell'articolo corrente e vuoi essere aggiornato sulle mie ultime composizioni che trattano di essi, allora ti invito a registrarti 


alla pagina Facebook

Computer Science and Information Technology by Tateo's Interdisciplinary Lifelong Learning" (>)


ed alla bacheca Pinterest:

Computer Science and Information Technology by Tateo's Interdisciplinary Lifelong Learning" (>)


che ho dedicato appositamente per la condivisione delle modifiche più recenti apportate all'area tematica corrispondente di Tateo~Learning (>)}



~ o ~

§25. Let's keep in touch.

Teniamoci in contatto.


  I hope you enjoyed this article, belonging to the Learning (>) section of the Tateo's Interdisciplinary Lifelong Learning (TILLL) project (>), and that the notes and observations I gathered within it meets your interests. 

  If you want stay tuned with the TILLL project evolution, then I invite you to follow the next upgrades that are published on the TILLL's Blog and on the social media pages dedicated to the TILLL community.


  {Spero che questo articolo, appartenente alla sezione Learning (>) del progetto Tateo's Interdisciplinary Lifelong Learning (TILLL) (>), ti sia piaciuto e che le note e le osservazioni che ho raccolto al suo interno soddisfino i tuoi interessi. 

  Se vuoi rimanere aggiornato sull'evoluzione del progetto TILLL, allora ti invito a seguire i prossimi aggiornamenti che vengono pubblicati sul Blog di TILLL e sulle pagine social dedicate alla community TILLL}


  (>Tateo-Blogofficial blog of TILL project

  (>LinkedIn page dedicated to TILL project

  (>Facebook page dedicated to TILL project

  (>Twitter account dedicated to TILL project

  (>Pinterest account dedicated to TILL project

  (>Instagram account dedicated to TILL project



~ o ~

§2. Something about me, the founder and author of Tateo~Blog Project.
Qualcosa su di me, il fondatore e sull'autore del progetto Tateo~Blog.

First of all, thank you for visiting one of the pages of my blog. My name is Giovanni Battista Tateo (shortly Bat) and I am the founder and author of a project of Interdisciplinary Lifelong Learning of which the Tateo~Blog (:::) blog is the means of sharing. I was initially an Information Technology expert, and later I became an electronic engineer, specializing in industrial Automation. I'm passionate about Artificial intelligenceVirtual RealitySimulation, and I'm an expert in Artificial Vision applied to industrial Automation. Currently, and starting four years ago, I am employed as a Proposal Engineer at Mer Mec S.p.A. (:::) company. Previously, starting in 2004, I was employed, always at the same company, as a Designer of Artificial Vision Systems and Image Processing Algorithms, applied in particular to Railway Diagnostics. I am a supporter and promoter of Lifelong LearningSocial Networking and Knowledge Sharing by means of the web. If you want more details about me, visit the About Me (:::) page.

Innanzitutto ti ringrazio per aver visitato una delle pagine del mio blog. Mi chiamo Giovanni Battista Tateo (brevemente Bat) e sono il fondatore e l'autore di un progetto Lifelong Learning Interdisciplinare di cui il blog Tateo~Blog (:::) ne è il mezzo di condivisione. Sono stato in principio un esperto di Informatica, e in seguito sono diventato un Ingegnere Elettronico, specializzato in Automazione Industriale. Sono un appassionato di Intelligenza ArtificialeRealtà VirtualeSimulazione, e sono un esperto di Visione Artificiale applicata all'Automazione Industriale. Attualmente, ed a partire dall'anno 2016, sono impiegato come Proposal Engineer presso la società Mer Mec S.p.A. (:::). Precedentemente, a partire dal 2004, sono stato impiegato, sempre presso la stessa società, come Progettista di Sistemi di Visione Artificiale e di Algoritmi di Elaborazione delle Immagini, applicati in particolare alla Diagnostica Ferroviaria. Sono un sostenitore e promotore dell'apprendimento permanente, dei social network e della condivisione delle conoscenze tramite il web. Se vuoi ulteriori dettagli su di me, visita la pagine About Me (:::).


  References to contact me. Following you can find my personal references that you can use if you want to contact me directly, and the links to my social accounts that you can use to follow me or to keep in touch with me by means of social media networks.

  Riferimenti per contattarmi. In seguito puoi trovare i miei riferimenti personali che puoi utilizzare se vuoi contattarmi personalmente, ed i collegamenti ai miei account social che puoi utilizzare per seguirmi e rimanere in contatto con me tramite le reti di social media


Eng. Tateo Giovanni Battista

    - e-mail: tateogb@libero.it (send e-mail)

    - phone / WhatsApp : (+39) 388 8419726

    - Skype (link)

    - LinkedIn account (link)

    - Facebook account (link)

    - Twitter account (link)

    - Instagram account (link)

    - Pinterest account (link)


-----------------------------------------

Originally published August 18, 2019,

updated September 5, 2022 

into the Learning section of

TILLL

the Lifelong and Interdisciplinary Learning project of Giovanni Battista Tateo

Commenti